<!-- 
   CSS面试题：
    1）布局
      盒子模型的宽度如何计算
      margin纵向重叠问题
      margin的负值问题
      BFC理解和应用
      float布局，以及clearfix
      flex画色子
    2）定位
      absolute和relative分别依据什么定位
      居中对齐有哪些实现方式 
    3）图文样式
      line-height的继承问题
    4）适配（响应式）
      rem是什么
      如何实现适配（响应式）
    5）CSS3（不是重点）
 -->

<!-- 居中对齐有哪些实现方式  -->
<!-- 
    水平居中：
      inline元素： text-align:center
      block元素： margin: auto
      absolute元素： left:50% + margin-left负值

    垂直居中：
      inline元素： line-height = height
      absolute元素： top:50% + margin-top负值
      absolute元素： top,left,bottom,right = 0 + margin:auto
      block元素： flex
      block元素： transform(-50%,-50%)
 -->

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>垂直对齐</title>
  <style type="text/css">
    .container {
      border: 1px solid #ccc;
      margin: 10px;
      padding: 10px;
      height: 200px;
    }

    .item {
      background-color: #ccc;
    }

    .container-1 {
      text-align: center;
      line-height: 200px;
      height: 200px;
    }

    .container-2 {
      position: relative;
    }

    .container-2 .item {
      width: 300px;
      height: 100px;
      position: absolute;
      left: 50%;
      margin-left: -150px;
      top: 50%;
      margin-top: -50px;
    }

    .container-3 {
      position: relative;
    }

    .container-3 .item {
      width: 200px;
      height: 80px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%)
    }

    .container-4 {
      position: relative;
    }

    .container-4 .item {
      width: 100px;
      height: 50px;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
    }
  </style>
</head>

<body>
  <div class="container container-1">
    <span>一段文字</span>
  </div>

  <div class="container container-2">
    <div class="item">
      this is item
    </div>
  </div>

  <div class="container container-3">
    <div class="item">
      this is item
    </div>
  </div>

  <div class="container container-4">
    <div class="item">
      this is item
    </div>
  </div>
</body>

</html>